2.3 s
Load data first

sounds filenames

7.2 μs
filenames
1.6 μs

do some magic with filenames

8.4 μs
files
51.6 ms

parse and get acoustic samples

9.9 μs
parsed
7.5 s

due to documentation, the first returned value is the data

14.2 μs
15157334
0.0 ns

thats too l0ng sound, cut smth off

15157334 == 180 s.

336000 == 4 s.

24.4 μs
6.6 ms
0.0 ns

lets plot melody and bass waves

6.9 μs
28.3 ms

and full, mixed up

13.5 μs
12.5 ms
now we can FFT

историческая справка: преобразование Фурье переводит содержимое *.wav файла в формат частот

15.2 μs
frequencies
454 ms

draw melody and bass freqs separately..

примечание

  • рисуем в первых 10000 единиц времени, т.к судя по рисункам выше, 10к – это период функций, и дальше все поввторяется

  • рисуем модули чисел, т.к не хотим возиться с комплексными числами

30.8 μs
75.0 ms

then draw the sum of melody and bass freqs..

9.0 μs
18.7 ms

and finally check on the result of FFT..

6.8 μs
25.4 ms

Таким образом, алгос:

  • Делаем преобразование Фурье песни

  • куча деталей и подводных камней

  • получаем набор частот

  • конец

2.8 ms